package com.loby.monitor.excess.local;

/**
 * 报警数据来源类型
 */
public enum AlarmDataType {
    /**
     * 无
     */
    None(0),
    /**
     * 实时数据
     */
    RealData(1),
    /**
     * 污染处理设施运行状态
     */
    DeviceState(2),
    /**
     * 污染物分钟数据
     */
    ContMinData(3),
    /**
     * 工况分钟数据
     */
    WCMinData(31),
    /**
     * 污染物小时数据
     */
    ContHourData(4),
    /**
     * 污染物日数据
     */
    ContDayData(5),
    /**
     * 污染治理设施运行时间日数据
     */
    DeviceDayState(6),
    /**
     * 污染物报警记录
     */
    ContAlarmData(7),
    /**
     * 超标报警记录(主动发送)
     */
    SuperscaleAlarm(8),
    /**
     * 报警门限值参数
     */
    ContAlarmParam(9),
    /**
     * 数据上报时间（小时，分钟）
     */
    ReportTime(10),
    /**
     * 实时数据时间间隔
     */
    RtdInterval(11),
    /**
     * 密码
     */
    Password(12),
    /**
     * 分钟超标数据(平台判断)
     */
    SuperscaleMinData(13),
    /**
     * 小时超标数据（平台判断)
     */
    SuperscaleHourData(14),
    /**
     * 排放口状态数据(平台判断)
     */
    LimberState(15);

    AlarmDataType(int value)
    {
        this.value = value;
    }

    public static AlarmDataType valueOf(int i)
    {
        switch (i)
        {
            case 1:return RealData;
            case 2:return DeviceState;
            case 3:return ContMinData;
            case 31:return WCMinData;
            case 4:return ContHourData;
            case 5:return ContDayData;
            case 6:return DeviceDayState;
            case 7:return ContAlarmData;
            case 8:return SuperscaleAlarm;
            case 9:return ContAlarmParam;
            case 10:return ReportTime;
            case 11:return RtdInterval;
            case 12:return Password;
            case 13:return SuperscaleMinData;
            case 14:return SuperscaleHourData;
            case 15:return LimberState;
            case 0:
            default:return None;
        }
    }

    public int getValue()
    {
        return this.value;
    }
    private int value;

    @Override
    public String toString()
    {
        switch (value)
        {
            case 1:
                return "实时数据";
            case 2:
                return "污染处理设施运行状态";
            case 3:
                return "污染物分钟数据";
            case 31:
                return "工况分钟数据";
            case 4:
                return "污染物小时数据";
            case 5:
                return "污染物日数据";
            case 6:
                return "污染治理设施运行时间日数据";
            case 7:
                return "污染物报警记录";
            case 8:
                return "超标报警记录";
            case 9:
                return "报警门限值参数";
            case 10:
                return "数据上报时间";
            case 11:
                return "实时数据时间间隔";
            case 12:
                return "设置密码";
            case 13:
                return "分钟超标数据";
            case 14:
                return "小时超标数据";
            case 15:
                return "排放口状态数据";
            default:
                return "未知指令";
        }
    }
}
